//package com.glsc.ngateway.common.config;
//
//import com.fasterxml.jackson.annotation.JsonProperty;
//import org.redisson.Redisson;
//import org.redisson.api.RedissonClient;
//import org.redisson.config.Config;
//import org.springframework.beans.factory.annotation.Value;
//import org.springframework.boot.context.properties.ConfigurationProperties;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//
//import java.util.List;
//import java.util.stream.Collectors;
//
///**
// * @Author: zxh
// * @DateTime: 2020/9/1 2:22 下午
// */
//@Configuration
//@ConfigurationProperties(prefix = "spring.redis.cluster")
//public class RedissonConfig {
//
//    private List<String> nodes;
//
//    @JsonProperty("nodes")
//    public void setNodes(List<String> nodes) {
//        this.nodes = nodes;
//    }
//
//    public List<String> getNodes() {
//        return nodes;
//    }
//
//    //    @Value("${spring.redis.cluster.nodes}")
////    private List<String> nodes;
//    @Value("${spring.redis.client-name}")
//    private String clientName;
//    @Value("${spring.redis.username}")
//    private String username;
//    @Value("${spring.redis.password}")
//    private String password;
//
//    @Bean
//    public RedissonClient redissonClient() {
//        Config config = new Config();
//        config.useClusterServers()
//                .addNodeAddress(nodes.stream().map(n->"redis://"+n).collect(Collectors.toList()).toArray(new String[]{}))
//                .setUsername(username)
//                .setPassword(password)
//                .setClientName(clientName);
//        return Redisson.create(config);
//    }
//}
//
